package util;
import clases.ClsProyectoSQL;
import interfaz.dlgJProgressProyecto;
import java.awt.Dialog;
import javax.swing.JProgressBar;
/**
 * @web http://www.jc-mouse.net
 * @author Mouse
 */
public class ThreadJProgress implements Runnable{

    private JProgressBar jProgressBar;
    private dlgJProgressProyecto dialog;
    private int i = 1;
    private int value = 50;//retardo en milisegundos

    /**
     * Constructor de clase
     */
    public ThreadJProgress( JProgressBar jProgressBar , int value , Dialog dialog1){
        this.jProgressBar = jProgressBar;
        this.value = value;
        this.dialog=(dlgJProgressProyecto)dialog1;
    }

    @Override
    public void run() {
        i=1;
        //mientra el trabajo en paralelo no finalice el jProgressBar continuara su animacion una y otra vez
        while( !ClsProyectoSQL.bandProcessEnd ){
            //si llega al limite 100 comienza otra vez desde 1, sino incrementa i en +1
            i = (i > 100) ? 1 : i+1;
            jProgressBar.setValue(i);
            jProgressBar.repaint();
            //retardo en milisegundos
            try{
                Thread.sleep( this.value );
            }catch (InterruptedException e){
                System.err.println( e.getMessage() );
            }
            //Si el trabajo en paralelo a terminado
            if(ClsProyectoSQL.bandProcessEnd){
                jProgressBar.setValue(100);
                dialog.cerrar();
//                System.out.println("Trabajo finalizado...");
                dialog.lblMensaje.setText("Se creo el Archivo con los datos del Proyecto...");
                break;//rompe ciclo
            }
        }
    }
}
